In its project repository, the advantages of Zend\Expressive are described as „PSR-7 middleware applications in PHP in a minute!“ Or in other words: Expressive allows you to write PSR-7 middleware applications for the web – quickly.
In this post we’ll take a look at the current state of Zend\Expressive and the community around Zend Framework. In addition, we will provide a handful of tutorials and articles which are helpful for the everyday use of Zend/Expressive and Zend Framework in general.
A look at current and past Zend/Expressive developments
With the release of Zend Framework 3 in June of 2016, Zend/Expressive was offered as an alternative microframework based on PSR-7 compatible middleware.
On March 7th 2017, version 2.0.0 was released. With the current version number being 2.0.3 (released 2017-03-28), let’s take a look at the most important features and improvements of this major release:
- support for PSR-11 [1]: Expressive is now a PSR-11 consumer, and will work with any container compatible with that specification
- preparatory support for PSR-15 [2] (the new middleware standard for PHP)
- programmatic middleware pipelines
- modular applications
- tools for simplifying the development of Zend\Expressive applications
Developers working with Zend/Expressive will definitely enjoy components like Zend\Expressive\Tooling which allow the creation of new middleware as well as creating and managing modules. Additionally, it provides a variety of tools for helping developers migrate from Expressive 1 to Expressive 2. Matthew Weier O‘Phinney’s blogpost answers (almost) all other questions concerning migration.
New community initiatives
Everyone who has been following the evolution of Zend Framework will know that there have always been phases in which the Zend Framework core team appeared rather inactive to the outside world. Most times this meant less activity and external communication was somewhat less noticeable. However, for some months now we’ve seen new initiative and drive behind the Zend Framework community. Several factors exemplify this development:
- A „Zend Framework Contributor Updates“-newsletter is sent out on a weekly or two-week-basis. It lists current news for contributors and everybody interested in Zend Framework as well as interesting blog posts from the Zend Framework community. Everyone can subscribe and the newsletter archive is public.
- The Zend Framework Blog has started to regularly publish blog posts again. The posts cover new releases as well as little tutorials for certain components and the practical use of Zend\Expressive and Zend\MVC.
- A Slack channel for the Zend Framework community has been set up. You can register here and ask Zend Framework developers questions and discuss topic on short notice. In addition, you’ll be informed about what issues the team is working on and where help is needed.
- Another new addition is the Zend Framework discourse forum. It also offers the possibility to ask questions and get into longer discussions. Contrary to the Slack channel, the forum aims at longer conversations.
All of those innovations and community initiatives are positive developments. And hopefully they will continue for a long time, providing friends of Zend Framework with better access to information.
Interesting tutorials and articles
The last months have also seen quite a number of tutorials, troubleshootings and articles on different ZF components. Let’s take a look at some of the best among them:
- Matthew Weier O‘Phinney elaborated on the Zend Framework Blog about error handling in Zend\Expressive applications.
- Alejandro Celaya Alastrué described his experiences with migrating to Zend\Expressive 2 and explains who to cope with 404 and 405 errors in Zend\Expressive 2.
- Matthew Weier O‘Phinney posted a two part series on Zend\Feed which covers discovering, reading and creating RSS and Atom feeds.
- Another little series by Matthew demonstrates how to manage permissions with zend-permissions-acl and zend-permissions-rbac for user authentication.
- Enrico Zimuel’s take on the subject of authorizing users using middleware is a blog post which covers this topic on the basis of a Zend\Expressive project. In addition, he describes how to implement authentication in a Zend\Expressive project.
- Also concerning the Zend\Expressive environment is another post by Enrico on application caching with middleware.
As you can see: a lot of exciting stuff is happening in the Zend Framework universe. Trying to absorb and digest these topics and innovations will help you use them in your everyday work. Have fun and best of luck!
If you’d like to dive deeper into Zend/Expressive and learn how to modernize legacy applications with Expressive, you can join me for my session „Modernizing Legacy Applications with Expressive“ at International PHP Conference in October in Munich.